package com.example.demo.service;

import com.example.demo.model.core.PageVo;
import com.example.demo.model.form.DictForm;
import com.example.demo.model.form.DictItemForm;
import com.example.demo.model.form.DictItemSaveForm;
import com.example.demo.model.query.DictItemQuery;
import com.example.demo.model.query.DictQuery;
import com.example.demo.model.vo.DictItemVO;
import com.example.demo.model.vo.DictVO;
import com.example.demo.model.vo.OptionVO;

import java.util.List;


public interface SysDictService {
    void add(DictForm dictForm);

    void update(DictForm dictForm);

    void delete(List<Long> ids);

    PageVo<DictVO> page(DictQuery query);

    DictForm form(Long id);

    void addItem(DictItemForm form);

    void updateItem(DictItemForm form);

    void deleteItem(List<Long> ids);

    PageVo<DictItemVO> pageItem(DictItemQuery query);

    DictItemForm formItem(Long id);

    void itemsSave(DictItemSaveForm form);

    List<OptionVO<String>> itemsOption(String dictCode);

    List<DictItemVO> listDictItem(String dictCode);

    DictItemVO getDictItem(String dictCode, String itemCode);

}
